<?php declare(strict_types=1);
/**
 * @author      xianganyall <xianganyall@gmail.com>
 * @copyright   2023-2025 owner
 **/

namespace Srv\Apps\Apis\Common\DefCtl;

final class DefReportTypeCtl extends DefAbstract
{
    private const TABLE_NAME                = 'def_report_type';
    private const FIELD_ID                  = 'drtt_id';
    private const FIELD_KEY                 = 'drtt_key';
    private const FIELD_NAME                = 'drtt_name';
    public const EXT_NAME                   = 'name';
    public const KEY_REPORT_TYPE_ILLEGAL    = 'report_type_illegal';        // 非法内容
    public const KEY_REPORT_TYPE_HARASSMENT = 'report_type_harassment';     // 骚扰内容
    public const KEY_REPORT_TYPE_SPAM       = 'report_type_spam';           // 广告内容
    public const KEY_REPORT_TYPE_LINK       = 'report_type_link';           // 欺诈内容
    public const KEY_REPORT_TYPE_MUTILATION = 'report_type_mutilation';     // 迫害内容

    /**
     * @return static
     * tag
     */
    public static function tag():self
    {
        $fieldExtList       = [self::EXT_NAME => self::FIELD_NAME];
        return parent::tag()->config(self::TABLE_NAME, self::FIELD_ID, self::FIELD_KEY, $fieldExtList);
    }
}